package com.xhh.nphm.system.service;

import com.xhh.nphm.system.domain.AfficheComment;
import com.xhh.nphm.system.domain.Saffiche;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
* @author Administrator
* @description 针对表【sAffiche】的数据库操作Service
* @createDate 2022-06-24 14:36:49
*/
public interface SafficheService extends IService<Saffiche> {
    /**
     * 系统公告管理列表数据
     *
     * @param saffiche 封装查询条件
     * @return 列表数据
     */
    List<Map<String,Object>> afficheListJson(Saffiche saffiche);

    /**
     * 系统通知公告列表数据
     *
     * @param role 用户当前角色
     * @param saffiche 封装查询条件
     * @return 列表数据
     */
    List<Map<String, Object>> ntcListJson(String role, Saffiche saffiche);

    List<Saffiche> getSafByRole(String roleId);

    List<Saffiche> getNotice(@Param("roleId")String roleId, @Param("content")String content, @Param("userId")Long userId);

    List<Saffiche> queryDeptNotice(List<String> list,@Param("userId")Long userId,@Param("content")String content);

    List<Saffiche> getUrgentAffiche(@Param("roleId")String roleId,  @Param("userId")Long userId);

    List<Saffiche> getImportantAffiche(@Param("roleId")String roleId,  @Param("userId")Long userId);

    List<Saffiche> getCommonAffiche(@Param("roleId")String roleId,  @Param("userId")Long userId);

    List<Saffiche> getReadAffiche(@Param("userId")Long userId);

    /**
     * @Description: 查询该公告下所有评论
     * @Param: [afficheId]
     * @return: List
     */
    List<AfficheComment> getAfficheComment(Integer afficheId);


    /**
     * @Description: 修改公告为已读
     * @Param: [afficheId]
     * @return: void
     */
    Boolean updateAfficheRead(String afficheId);

    List<Saffiche> selectSafficheByRoles(String roles);

    List<Saffiche> selectSafficheByDeptIds(String deptIds);
}
